$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \renewcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mss}{\,\mathrm{\frac{m}{s^2}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Основни алгоритми над серијама елемената

У претходном поглављу описали смо основне итеративне алгоритме у варијанти у којој су примењени на мале серије тако да су имплементирани без коришћења петљи. У овом поглављу ћемо исте алгоритме применити да дуже серије елемената (укључујући и серије чији број елемената није унапред познат). Предуслов за имплементацију таквих алгоритама је коришћење петљи (каже се и циклуса).

Елементи програмског језика

У језику Пајтон постоје две врсте петљи: while и for.

Петља while

Општи облик петље while је:

while uslov:
    telo

У петљи while испитује се вредност логичког израза uslov и уколико је он тачан, извршавају се наредбе задате унутар тела петље, које се пише увучено. Дакле, услов петље се први пут испитује пре извршавања тела петље. Када се тело изврши услов се поново испитује и поступак се понавља све док се први пут не деси да услов није испуњен. Свако извршавање тела петље називаћемо једном итерацијом петље.

Петља for

Општи облик петље for је:

for promenljiva in kolekcija:
    telo

Петља for се извршава тако што се променљивој promenljiva (која се назива контролна променљива) редом додељују вредности из колекције и за сваку од тих вредности се и извршавају наредбе које се налазе у телу петље.

Једна врста колекције која се често користи у for петљи је опсег (енгл. range). Опсег може да се зада помоћу једног, два или три параметра.

Опсег range(n) представља целе бројеве од 0 до n, не укључујући n. Тако следећи програм исписује бројеве 0, 1, 2, 3 (сваки у посебном реду).

for i in range(4):
    print(i)

Оваква врста петље се понекад назива и бројачка петља, нарочито ако се променљива i не користи у телу петље (на пример, када је неку наредбу само потребно поновити одређени број пута). У следећем програму се помоћу петље “броји до 3” (тело петље се понавља 3 пута), због чега се петља и назива бројачком:

for i in range(3):
    print('Zdravo!')

Опсег range(a, b) представља целе бројеве од a до b, не укључујући b. Тако следећи програм исписује бројеве 2, 3, 4, 5 (сваки у посебном реду).

for i in range(2, 6):
    print(i)

Опсег range(a, b, c) представља бројеве од a до b са кораком c, не укључујући b. При томе корак може да буде и негативан. Тако следећи програм исписује бројеве 9, 7, 5, 3, 1 (сваки у посебном реду).

for i in range(9, 0, -2):
    print(i)

Прекиди петље (break и continue)

Наредба break у телу петље прекида извршавање петље. Наредба continue прекида извршавање тела петље (тј. извршавање текуће итерације).